package com.cskaoyan.javase.array._2memory;

/**
 * 定义两个数组：
 * 静态初始化一个数组，输出数组名，元素取值，长度
 * 然后声明第二个数组，把第一个数组的地址赋值给第二个数组。
 * 输出第二个数组的数组名，元素取值，长度
 * 然后给第二个数组赋值，再次输出两个数组的名及元素
 *
 * @since 11:42
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo4 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        // Java中的引用是简化,弱化了的指针,给出安全
        int[] arr2 = arr;
        // double[] arr3 = arr;

        double[] arr3 = new double[2];

        System.out.println(arr == arr2);
        // "=="连接引用时,这两个引用必须是同种类型(或者有继承关系)
        // System.out.println(arr == arr3);

        arr[0] = 100;
        // arr和arr2引用都指向同一个对象,所以会互相影响
        System.out.println(arr2[0]);

        arr3[0] = 0.1;
        // 引用指向不同对象时,引用之间不会互相影响,没有任何关系
        System.out.println(arr[0]);
    }
}
